//
// Created by jk101 on 2023/12/7.
//

#ifndef FFMPEGTEST_FFPLAYER_H
#define FFMPEGTEST_FFPLAYER_H

class FFPlayer {

public:

    //构造函数
    FFPlayer() {
        //初始化拉流线程
        //初始化视频解码线程
        //初始化音频解码线程
    }

    //析构函数
    ~FFPlayer() {

    }

    /**
     * 设置播放媒体
     * @param url 播放媒体地址
     * @return 0 表示执行成功
     */
    virtual int setMedia(const char *url){}

    /**
     * 开始播放
     * @return 0 表示执行成功
     */
    virtual int play(){}

    /**
    * 暂停播放
    * @return 0 表示执行成功
    */
    virtual int pause(){}

    /**
     * 切换播放进度
     * @param timeStamp 播放位置（毫秒）
     * @return 0 表示执行成功
     */
    virtual int seek(long timeStamp){}

    /**
    * 停止播放，释放资源
    * @return 0 表示执行成功
    */
    virtual int stop(){}

    /**
    * 重置播放器，在播放器发生错误时，通过次方法将播放器恢复到初始状态
    * @return 0 表示执行成功
    */
    virtual int reset(){}

};
#endif //FFMPEGTEST_FFPLAYER_H